Interactive mapping method and system

ABSTRACT

Method and computer program product for presenting a set of address locations in a browser window of a user device via the Internet are disclosed. The method includes receiving a set of address locations in a given order, presenting the set of address locations as a list of directions, and presenting the set of address locations graphically on a map, where the map includes a route connecting the set of address locations according to the given order and a marker for each of the address locations. The method further includes creating a new order of the set of address locations from the given order by dragging an address location from the map to a different position in the list of directions, updating the list of directions according to the new order of the set of address locations, and updating the map according to the new order of the set of address locations.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of application No. 60/727,206,“Interactive Mapping Method and System,” filed Oct. 14, 2005, which isincorporated herein in its entirety by reference.

FIELD OF THE INVENTION

The present invention relates to the field of computer-network-basedmapping. In particular, the present invention relates to an interactivemapping method and system.

BACKGROUND OF THE INVENTION

With the increasing popularity of the Internet, millions of users usethe Internet to get maps of address locations of interest to them or toget driving directions for getting to such address locations. Withconventional map applications, a user would enter a start address and anend address in order to get a driving direction. The conventional mapapplications would return a map and a list of driving directions fromthe start address to the end address.

One drawback of the conventional map applications is that they arelimited to a point-to-point solution, for getting from point A to pointB, for example. However, if the user wants to visit a number of otheraddress locations in the same trip, he would have to break down thewhole trip into a series of point-to-point entries and get the map anddriving directions for each point-to-point entry separately. Thisconventional approach involves printing multiple maps and theircorresponding driving directions on multiple pages of paper, typicallyone page for each point-to-point entry. It is not only time-consumingbut also a waste of resources because of the multiple maps and theircorresponding driving directions that the user has to create and print.

Therefore, there is a need for a new interactive mapping method andsystem to address the drawbacks of the conventional map applications.

SUMMARY

The present invention generally relates to an interactive mapping methodand system. In one embodiment, a method for presenting a set of addresslocations in a browser window of a user device via the Internet includesreceiving a set of address locations in a given order, presenting theset of address locations as a list of directions, and presenting the setof address locations graphically on a map, where the map includes aroute connecting the set of address locations according to the givenorder and a marker for each of the address locations. The method furtherincludes creating a new order of the set of address locations from thegiven order by dragging an address location from the map to a differentposition in the list of directions, updating the list of directionsaccording to the new order of the set of address locations, and updatingthe map according to the new order of the set of address locations.

BRIEF DESCRIPTION OF THE DRAWINGS

The aforementioned features and advantages of the invention as well asadditional features and advantages thereof will be more clearlyunderstandable after reading detailed descriptions of embodiments of theinvention in conjunction with the following drawings.

FIGS. 1 a-1 d illustrate a multipoint routing method according toembodiments of the present invention.

FIGS. 2 a-2 c illustrate re-ordering of destinations in the multipointrouting method according to embodiments of the present invention.

FIGS. 3 a-3 b illustrate removing a destination in the multipointrouting method according to embodiments of the present invention.

FIGS. 4 a-4 b illustrate creating a roundtrip in the multipoint routingmethod according to embodiments of the present invention.

FIGS. 5 a-5 e illustrate a map navigator according to embodiments of thepresent invention.

FIG. 6 illustrates result clusters associated with the map navigatoraccording to embodiments of the present invention.

FIGS. 7 a-7 b illustrate aspect ratio of the map navigator according toembodiments of the present invention.

FIGS. 8 a-8 c illustrate an address-to-business lookup method accordingto embodiments of the present invention.

FIGS. 9 a-9 c illustrate a method for updating an address in the uniformresource locator (URL) according to embodiments of the presentinvention.

FIGS. 10 a-10 c illustrate a method for printing a map with directionsand search results according to embodiments of the present invention.

FIG. 11 illustrates a method for auto-completing an address entry usinginformation from an address book according to an embodiment of thepresent invention.

DESCRIPTION OF EMBODIMENTS

The following descriptions are presented to enable any person skilled inthe art to make and use the invention. Descriptions of specificembodiments and applications are provided only as examples. Variousmodifications and combinations of the examples described herein will bereadily apparent to those skilled in the art, and the general principlesdefined herein may be applied to other examples and applications withoutdeparting from the spirit and scope of the invention. Thus, the presentinvention is not intended to be limited to the examples described andshown, but is to be accorded the widest scope consistent with theprinciples and features disclosed herein.

Some portions of the detailed description that follows are presented interms of procedures, steps, logic blocks, processing, and other symbolicrepresentations of operations on data bits that can be performed oncomputer memory. A procedure, computer-executed step, logic block,process, etc., are here conceived to be a self-consistent sequence ofsteps or instructions leading to a desired result. The steps are thoseutilizing physical manipulations of physical quantities. Thesequantities can take the form of electrical, magnetic, or radio signalscapable of being stored, transferred, combined, compared, and otherwisemanipulated in a computer system. These signals may be referred to attimes as bits, values, elements, symbols, characters, terms, numbers, orthe like. Each step may be performed by hardware, software, firmware, orcombinations thereof.

In various embodiments, the interactive mapping method and system of thepresent invention implement Web 2.0 functionalities using a combinationof HTML, CSS, JavaScript, Asynchronous JavaScript and XML (AJAX), Y!Q,Yahoo! Maps, Yahoo! Widget Engine, and Yahoo! Toolbar for InternetExplorer.

FIGS. 1 a-1 d illustrate a multipoint routing method according toembodiments of the present invention. FIG. 1 a shows a user entering afirst location at the location entry box A. FIG. 1 b shows the userentering a second location at the location entry box B. Similarly, FIGS.1 c and 1 d show the third and fourth locations are entered at locationsentry boxes C and D respectively. Note that upon entering the secondlocation at the location entry box B, the method automatically providesthe next location entry box C for the user to enter additionallocations, if any. This process is repeated for the subsequent entries,for example the fourth and fifth locations at location entry boxes D andE respectively.

As shown in FIGS. 1 a-1 d, the interactive mapping system affords a userthe ability to create routes with multiple way-points. The user not onlyis able to create a route from one address/location (A) to anotheraddress/location (B), but also may have the option to continue his routeto other addresses/locations, such as addresses/locations C, D, andbeyond. The route steps between two way-points (e.g., A and B) aredescribed in U.S. application Ser. No. 10/849,083, filed May 19, 2004,entitled “Mapping Method and System,” and its continuation-in-part U.S.application Ser. No. 11/137,603, filed May 25, 2005, entitled “MappingMethod and System,” both of which are incorporated herein by referencein their entirety.

FIGS. 2 a-2 c illustrate re-ordering of destinations in the multipointrouting method according to embodiments of the present invention. FIG. 2a shows the user (cursor shown as a hand) grabbing the D point to bemoved to in front of the C point (Livermore) in the route. FIG. 2 bshows the D point (Oakland) being dragged and inserted prior to the Cpoint (Livermore). FIG. 2 c shows the new C point (Oakland) both in themap and directions list and in the route drawn on the map. The previousC point (Livermore) becomes the new D point.

As shown in FIGS. 2 a-2 c, the user may re-order way-points within hisroute by dragging and dropping within the list view of the route or bydragging a way-point from the map view into the desired point in thelist view. For example, the user may decide to change way-point D to bethe first stop, so he can drag that point and drop it before the currentB way-point in the route list view, and it becomes the new B way-point.The previous B way-point is displaced and becomes the new C way-pointand so on. The route steps description and representation on the map arerefreshed to describe and show the new route.

FIGS. 3 a-3 b illustrate removing of a destination in the multipointrouting method according to embodiments of the present invention.

FIGS. 3 a-3 b show the user may delete one or more way-points from hisroute. For example, the user may remove way-point B from a route thathas way-points A-B-C-D. After way-point B is removed, way-point Cbecomes the new B way-point, and D becomes the new C way-point. In FIG.3 a, the delete icon at the right-side of way-point C is selected. Afterthe way-point C (Oakland) is deleted, the original way-point D(Livermore) becomes the new way-point C as shown in FIG. 3 b.

FIGS. 4 a-4 b illustrate creating a roundtrip in the multipoint routingmethod according to embodiments of the present invention. This is doneby selecting the Roundtrip link as indicated by the cursor (hand) inFIG. 4 a. The user may create a multipoint route by drag and drop oflocal entities (e.g., businesses) represented on the map from the map tothe desired position within the route list view. FIG. 4 b shows thecomplete roundtrip both on the map and on the directions list. As aresult, the total distance of the trip is increased to 70.7 miles (thesum of the distance of each of the two routes), and the amount of timeis increased to one hour and thirty four minutes (the sum of the time ofeach of the two routes).

FIGS. 5 a-5 e illustrate a map navigator according to embodiments of thepresent invention. A map navigator includes a small map that gives thesurrounding geographic context of the large map view. Within the mapnavigator, the extent of the current large map view is represented by ashaded rectangular driving (panning) control super-imposed on thesurrounding geographic context map, as shown in FIG. 5 a. For example,while the large map may show the City of San Francisco, the mapnavigator map shows the Bay Area with a shaded rectangular arearepresenting San Francisco.

The user can use this shaded area as a control to “drive” to otherlocations and so explore the geographic context of the current map. Asshown in FIG. 5 b, this is done by dragging the driving control (shownas the cursor over the grey box) in the direction he wants to drive. InFIG. 5 c, the map navigator continuously pans in the direction the useris moving the panning control for as long as the user continues to holdand drag it. In FIG. 5 d, the user releases the panning control, and inFIG. 5 e, the driving control then settles on the center of the mapnavigator area, and the large map redraws to the new location the userjust drove to.

FIG. 6 illustrates result clusters associated with the map navigatoraccording to embodiments of the present invention. The map navigator mayalso show representations of data points of interest, for example,businesses such as cafes, hotels, or restaurants. While the large mapmay only show, say, three points of interest, the map navigator is ableto display representations of further similar points of interest ingeographic areas adjacent to the view shown by the large map. Thisallows the user to quickly see and navigate to areas outside the largemap view that may contain data of interest. For example, the large maponly shows three hotels, but the map navigator shows a cluster of sixmore to the southwest. Other data of interest such as routes, traffic,demographic statistics, and any other geo-data may be similarlyrepresented.

FIGS. 7 a-7 b illustrate aspect ratio of the map navigator according toembodiments of the present invention. FIG. 7 a shows a default view ofthe map navigator, which has substantially the same aspect ratio as themain map. FIG. 7 b shows an all-map view of the map navigator, whichalso has substantially the same aspect ratio as the main map. Note thatthe aspect ratio of the driving control corresponds to that of the largemap, such that it changes due to the browser window re-sizing or theclosing of the control panel.

FIGS. 8 a-8 c illustrate an address-to-business lookup method accordingto embodiments of the present invention. The interactive mapping systemmatches an address entered into a location field with a known business.For example as shown in FIG. 8 a, a user may enter “701 First Ave,Sunnyvale Calif. 94089” into location field A, and upon submission ofthis entry, the system returns a match for the business known to be atthis address, as shown in FIG. 8 b as Yahoo! Incorporated. Additionalinformation about that business may then be displayed, such as the phonenumber, user ratings (stars) of the business, etc. The user may accessfurther information about this business by linking to supplementarypages shown in FIG. 8 c, which may include user reviews, photos, hoursof operation, and other relevant information.

FIGS. 9 a-9 c illustrate a method for updating an address in the URLaccording to embodiments of the present invention. The interactivemapping system automatically updates the URL in the browser address barin real time. This URL contains sufficient information to allow for theredrawing of the current map view, including any data superimposed onit, such as driving directions, points of interest, etc. For example,instead of using the # symbol to designate in-page anchor links, thesystem designates the # symbol with a query string that describes thecontents of the page (e.g., search results and other map zoom levelsetc.). This is represented by the text after the “#” near the middle ofthe first line in the example shown in FIG. 9 c. This function allowsthe user to copy and paste the URL of the current view, and email it toa friend who may then link to this exact view.

FIGS. 10 a-10 c illustrate a method for printing a map with directionsand search results according to embodiments of the present invention.The interactive mapping system provides the capability of automaticallysending a layout of the current map view (shown in FIG. 10 a) and datathat is optimized for printing. This occurs when the user selects theprint function within the application or when the user chooses the printfunction from the browser. The printed version of the map and map data,as shown in FIG. 10 b, is not what the user is seeing on the screen,such as a “print screen,” but is a different layout specificallydesigned for printing. The print view of the same data is automaticallysent to the printer. The user may also send a text-only variant.

In FIG. 10 c, two stylesheets are used to control what is viewedonscreen as being different from what is sent to the printer. Stylesheet1 designates the screen view and hides the print view; and stylesheet 2designates the print view and is activated when the user initiates aprint function either from within the application or from the browserprint commands. This stylesheet also hides the screen view from theprint function so that only the print view is sent to the printer.

FIG. 11 illustrates a method for auto-completing an address entry usinginformation from an address book according to an embodiment of thepresent invention. The interactive mapping system provides thecapability of displaying auto-complete selections drawn from the user'saddress book and the universal location manager (ULM). The ULM storesrecently visited or previously saved locations. As the user types inletters or numbers of, for example, a person's name, nickname, oraddress, into a location box that match entries within his address bookor ULM data, the system displays these matches for selection, as shownin FIG. 11. The user can choose to ignore or select these options. Ifthe user selects one of these auto-complete options, the map thencenters on the chosen address.

It will be appreciated that the above description for clarity hasdescribed embodiments of the invention with reference to differentfunctional units and processors. However, it will be apparent that anysuitable distribution of functionality between different functionalunits or processors may be used without detracting from the invention.For example, functionality illustrated to be performed by separateprocessors or controllers may be performed by the same processor orcontroller. Hence, references to specific functional units are only tobe seen as references to suitable means for providing the describedfunctionality rather than as indicative of a strict logical or physicalstructure or organization.

The invention can be implemented in any suitable form, includinghardware, software, firmware, or any combination of them. The inventionmay optionally be implemented partly as computer software running on oneor more data processors and/or digital signal processors. The elementsand components of an embodiment of the invention may be physically,functionally, and logically implemented in any suitable way. Indeed thefunctionality may be implemented in a single unit, in a plurality ofunits, or as part of other functional units. As such, the invention maybe implemented in a single unit or may be physically and functionallydistributed between different units and processors.

One skilled in the relevant art will recognize that many possiblemodifications and combinations of the disclosed embodiments may be used,while still employing the same basic underlying mechanisms andmethodologies. The foregoing description, for purposes of explanation,has been written with references to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described to explain the principles of theinvention and their practical applications, and to enable others skilledin the art to best utilize the invention and various embodiments withvarious modifications as suited to the particular use contemplated.

1. A method comprising: receiving, over a network, a set of addresslocations in a given order; presenting the set of address locations as alist of directions, the set of address locations being visibly displayedon a display of a user device; presenting the set of address locationsgraphically on a map that is visibly displayed on the display of theuser device, wherein the map includes a route connecting the set ofaddress locations according to the given order, and wherein the mapfurther includes a marker for each of the address locations; providing aquery string within a pair of marking characters in a uniform resourcelocator (URL) in a browser address; retrieving information describing acurrent map view using the query string in the URL; updating the URL toinclude information describing the current map view; and providing theURL to a second user; and presenting the current map view to the seconduser using the URL.
 2. The method of claim 1 further comprising:creating a new order of the set of address locations from the givenorder by dragging an address location from the map to a differentposition in the list of directions; updating the list of directionsaccording to the new order of the set of address locations; and updatingthe map according to the new order of the set of address locations. 3.The method of claim 1 further comprising: adding a new address locationto the set of address locations; updating the list of directions toinclude the new address location; and updating the map to include thenew address location.
 4. The method of claim 1 further comprising:deleting a selected address location from the list of directions;updating the list of directions to exclude the selected addresslocation; and updating the map to exclude the selected address location.5. The method of claim 1 further comprising: creating a round trip byadding an end address location to the set of address locations, whereinthe end address location includes the same address as the beginningaddress location; updating the list of directions to include the endaddress location; and updating the map to include a route to the endaddress location.
 6. The method of claim 1 further comprising:identifying a current map view and its associated text information froma corresponding screen view in response to receiving a print map commandfrom a user; rearranging the current map view and its associated textinformation to create a print view; and printing the print view.
 7. Themethod of claim 6, wherein the text information comprises: a startaddress; an end address; a list of driving directions from the startaddress to the end address; and a list of points of interest shown inthe current map view.
 8. The method of claim 1 further comprising:entering an address location in an address field; and auto-completingthe address location using information gathered from a list of recentlyvisited or previously saved locations.
 9. The method of claim 1 furthercomprising: entering an address location in an address field; andauto-completing the address location using information gathered from auser's address book.
 10. A non-transitory computer-readable storagemedium tangibly encoded with a computer program product comprisingcomputer-executable instructions, that when executed by a computingdevice, perform a method comprising: receiving, over a network, a set ofaddress locations in a given order; presenting the set of addresslocations as a list of directions; and presenting the set of addresslocations graphically on a map, wherein the map includes a routeconnecting the set of address locations according to the given order,and wherein the map further includes a marker for each of the addresslocations; and providing a query string within a pair of markingcharacters in a uniform resource locator (URL) in a browser address;retrieving information describing a current map view using the querystring in the URL; updating the URL to include information describingthe current map view, providing the URL to a second user; and presentingthe current map view to the second user using the URL.
 11. Thenon-transitory computer-readable storage medium of claim 10 furthercomprising: creating a new order of the set of address locations fromthe given order by dragging an address location from the map to adifferent position in the list of directions; updating the list ofdirections according to the new order of the set of address locations;and updating the map according to the new order of the set of addresslocations.
 12. The non-transitory computer-readable storage medium ofclaim 10 further comprising: adding a new address location to the set ofaddress locations; updating the list of directions to include the newaddress location; and updating the map to include the new addresslocation.
 13. The non-transitory computer-readable storage medium ofclaim 10 further comprising: deleting a selected address location fromthe list of directions; updating the list of directions to exclude theselected address location; and updating the map to exclude the selectedaddress location.
 14. The non-transitory computer-readable storagemedium of claim 10 further comprising: creating a round trip by addingan end address location to the set of address locations, wherein the endaddress location includes the same address as the beginning addresslocation; updating the list of directions to include the end addresslocation; and updating the map to include a route to the end addresslocation.
 15. The non-transitory computer-readable storage medium ofclaim 10 further comprising: identifying a current map view and itsassociated text information from a corresponding screen view in responseto receiving a print map command from a user; rearranging the currentmap view and its associated text information to create a print view; andprinting the print view.
 16. The non-transitory computer-readablestorage medium of claim 15, wherein the text information comprises: astart address; an end address; a list of driving directions from thestart address to the end address; and a list of points of interest shownin the current map view.
 17. The non-transitory computer-readablestorage medium of claim 10 further comprising: entering an addresslocation in an address field; and auto-completing the address locationusing information gathered from a list of recently visited or previouslysaved locations.
 18. The non-transitory computer-readable storage mediumof claim 10 further comprising: entering an address location in anaddress field; and auto-completing the address location usinginformation gathered from a user's address book.